As society becomes increasingly mobile, technology has kept pace with portable computers, cellular phones, and pagers. With the burgeoning use of such electronic devices, manufacturers have called upon the semiconductor industry to provide data processors which process information as quickly as possible while requiring minimum power consumption and minimum circuit area. In response, the semiconductor industry has labored to develop data processors which consume less power in both active and idle states.
When the data processor is operating in an active state, communications between the data processor and other devices typically comprise a substantial portion of the total power consumed by the data processor. Such significant power consumption is due to the relatively large capacitances (loads) which the data processor must drive when communicating with an external device. These large capacitances are generally difficult to reduce and proportionally increase an amount of power consumed by an entire system. In fact, power consumption is proportional to a capacitance value multiplied with a squared voltage value and a frequency (Power.varies.CV.sup.2 f). Because the capacitances may be only decreased slightly, a voltage level which must be driven across such capacitances should be minimized to lower the amount of power consumed by the application using the data processor. However, the voltage level of the data communicated by the data processor is dictated by a voltage level required by the external device. For example, some external devices require an input voltage level of 5 volts, while other external devices require an input level of only 2.5 volts. Additionally, when more than one external device is included in an application, prior art implementations of data processors have provided all data at the highest voltage level required by any one of the external devices. Therefore, more power is consumed because the voltage level of data provided by the data processor to all external devices must be at a highest level and is not optimized on a device by device basis.